﻿// <copyright file="ExecutedEventArgs.cs" company="no company">
// Distributed under Microsoft Public License (Ms-PL)
// </copyright>

namespace HugeFlow.CommandPattern
{
    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
     
    /// <summary>
    /// Provides data for the System.Windows.Input.CommandManager.Executed and System.Windows.Input.CommandManager.PreviewExecuted routed events.
    /// </summary>
    public class ExecutedEventArgs : EventArgs
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ExecutedEventArgs"/> class.
        /// </summary>
        /// <param name="command">The command.</param>
        /// <param name="parameter">The parameter.</param>
        internal ExecutedEventArgs(StaticCommand command, object parameter)
        {
            Command = command;
            Parameter = parameter;
        }

        /// <summary>
        /// Gets the command that was invoked.
        /// </summary>
        /// <value>The command associated with this event.</value>
        public StaticCommand Command
        {
            get;
            private set;
        }

        /// <summary>
        /// Gets data parameter of the command.
        /// </summary>
        /// <value>The command data. The default value is null.</value>
        public object Parameter
        {
            get;
            private set;
        }
    }
}